//package com.lg.redis.cluster;
//
//import java.util.Map;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//import org.springframework.util.SerializationUtils;
//
//import redis.clients.jedis.JedisCluster;
//
//@Component
//public class RedisUtil implements JedisClient {
//    @Autowired
//	private RedisClient redisClient;
//
//	@SuppressWarnings("unchecked")
//	@Override
//	public <T> T get(Object key, Class<T> type) {
//		// TODO Auto-generated method stub
//		byte[] bs = redisClient.getJedis().get(getKeyByte(key));
//		return (T) SerializationUtils.deserialize(bs);
//	}
//	@SuppressWarnings("unchecked")
//	public Object get(Object key) {
//		// TODO Auto-generated method stub
//		byte[] bs = redisClient.getJedis().get(getKeyByte(key));
//		return  SerializationUtils.deserialize(bs);
//	}
//	public byte[] getKeyByte(Object key) {
//		if(key instanceof String) {
//			return ((String) key).getBytes();
//		}
//		return SerializationUtils.serialize(key);
//	}
//	@Override
//	public boolean set(Object key, Object value) {
//		// TODO Auto-generated method stub
//		try {
//			JedisCluster jedis = redisClient.getJedis();
//			jedis.set(getKeyByte(key), SerializationUtils.serialize(jedis));
//			return true;
//		} catch (Exception e) {
//			return false;
//		}
//	}
//
//	@Override
//	public String get(String key) {
//		// TODO Auto-generated method stub
//		return redisClient.getJedis().get(key);
//	}
//
//	@Override
//	public String set(String key, String value) {
//		// TODO Auto-generated method stub
//		return redisClient.getJedis().set(key, value);
//	}
//
//	@Override
//	public String hget(String hkey, String key) {
//		// TODO Auto-generated method stub
//		return redisClient.getJedis().hget(hkey, key);
//	}
//
//	@Override
//	public long hset(String hkey, String key, String value) {
//		// TODO Auto-generated method stub
//		Long hset = redisClient.getJedis().hset(hkey, key, value);
//		return hset;
//	}
//	@Override
//	public long hset(String hkey, Map<String, String> hash) {
//		// TODO Auto-generated method stub
//		Long hset = redisClient.getJedis().hset(hkey, hash);
//		return hset;
//	}
//
//	@Override
//	public long incr(String key) {
//		// TODO Auto-generated method stub
//		return redisClient.getJedis().incr(key);
//	}
//
//	@Override
//	public long expire(String key, int seconds) {
//		// TODO Auto-generated method stub
//		return redisClient.getJedis().expire(key, seconds);
//	}
//	@Override
//	public long expire(byte[] key, int second) {
//		// TODO Auto-generated method stub
//		return redisClient.getJedis().expire(key, second);
//	}
//
//	@Override
//	public long ttl(String key) {
//		// TODO Auto-generated method stub
//		return redisClient.getJedis().ttl(key);
//	}
//
//	@Override
//	public long del(String key) {
//		// TODO Auto-generated method stub
//		return redisClient.getJedis().del(key);
//	}
//	@Override
//	public long del(Object key) {
//		// TODO Auto-generated method stub
//		return redisClient.getJedis().del(getKeyByte(key));
//	}
//	@Override
//	public long del(String ... key) {
//		// TODO Auto-generated method stub
//		return redisClient.getJedis().del(key);
//	}
//	@Override
//	public long hdel(String hkey, String key) {
//		// TODO Auto-generated method stub
//		
//		return redisClient.getJedis().hdel(hkey, hkey);
//	}
//
//	
//}
